package com.rolerealm.domain.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 推荐请求DTO
 * 
 * @author RoleRealm Team
 * @version 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RecommendationRequestDTO {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 推荐策略
     */
    private String strategy;

    /**
     * 推荐数量
     */
    private Integer limit;

    /**
     * 排除的角色ID列表
     */
    private List<Long> excludeCharacterIds;

    /**
     * 偏好的技能类型
     */
    private List<String> preferredSkillTypes;

    /**
     * 偏好的角色分类
     */
    private List<String> preferredCategories;

    /**
     * 偏好的时代
     */
    private List<String> preferredEras;

    /**
     * 偏好的地区
     */
    private List<String> preferredRegions;

    /**
     * 语言偏好
     */
    private String language;

    /**
     * 是否包含热门推荐
     */
    private Boolean includePopular;

    /**
     * 是否包含随机推荐
     */
    private Boolean includeRandom;
}
